﻿using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;

using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Reflection;
using Excel = Microsoft.Office.Interop.Excel;
using System.Diagnostics;
using System.IO;
using System.Data.OleDb;

namespace INSAForManagers
{
    public partial class FormMain : Form
    {
       
        
        public static ToolStripMenuItem mnuStaticMMain;
        public static ToolStripMenuItem mnuStaticEMain;
        public static ToolStripMenuItem mnuStaticAMain;

        
        public FormMain()
        {
            Control.CheckForIllegalCrossThreadCalls = false;
            InitializeComponent();

            Config.Path = Application.StartupPath;

            DBUtil.oleConnect();
           
            Config.Version = DBUtil.getVersion(1);
            
        }

        /*********************************
         * 이벤트 모음
         ********************************/

        
        private void mnuExit_Click(object sender, EventArgs e)
        {   
            //응용프로그램 종료
            Application.Exit();
        }

        private void FormMain_FormClosed(object sender, FormClosedEventArgs e)
        {
            //MDB 연결 종료            
            DBUtil.oleClose();
        }        
        

        private void FormMain_Load(object sender, EventArgs e)
        {
            
            //등록된 사용자가 있으면 로그인 처리함
            if (DBUtil.isRegistedUserInfo() == true)
            {

                FormLogin f = new FormLogin();
                if (f.ShowDialog() == DialogResult.Cancel)
                {
                    Config.State = Config.STATE_EXIT;
                }
                else
                {
                    Config.State = Config.STATE_OK;
                }
            }
            else 
            {
                Config.State = Config.STATE_INIT;
            }

            /*
             * 로그인 취소한 경우
             * */
            if (Config.State == Config.STATE_EXIT)
            {
                this.Close();
            }


           

            /*************
             * 사용자정보등록여부 확인하여
             * 없으면 초기 상태로 설정하고 -> 사용자등록정보 폼 실행하
             * 기 위해
             * 있으면 각종 초기값들을 설정한다.
             *************/
            if (Config.State == Config.STATE_OK)
            {
                //Config.UserType 값은 로그인 할 때 할당됨
                Config.setMvi();
                                          
            }            

        }
                

        private void mnuProgramInfo_Click(object sender, EventArgs e)
        {
            Form f = new FormProgramInfo();            
            f.ShowDialog();
        }

        private void mnuACard_Click(object sender, EventArgs e)
        {
            FormACard f = new FormACard(this);
            f.MdiParent = this;
            f.Show();

            mnuACard.Enabled = false;
        }


    }
}
